package grameball;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JLabel;

/**
 *Tale Classe permette il disegno della palla e del mirino, in una JLabel in modo AWT.
 * @author Meco.Klodian (Granad)
 */
public class Figure extends JLabel
{
    private boolean who; //Palla o cerchio
    private int dim; //dimensione (lato)

    /**
     * Inizializza i campi di esemplare della classe.
     * @param who True per effettuare il disegno del mirino, false per il disegno della palla.
     * @param dim Lato della JLabel per la costruzione.
     */
    public Figure(boolean who, int dim)
    {
        this.who = who;
        this.dim = dim;
        setSize(dim,dim);
    }

    /**
     * Override del metodo paint.
     * @param gg
     */
    @Override
    public void paint(Graphics gg)
    {
        Graphics2D g = (Graphics2D) gg;
        //Viene utilizzato Graphics2D per avere qualita nel disegno.
        g.setColor(Color.BLUE);
        if(who)
        {
            g.setColor(Color.red);
            g.fillRect(1,dim/2-2,dim-2,4);
            g.fillRect(dim/2-2,1,4,dim-2);
            g.setColor(Color.BLACK);
            g.fillOval(dim/2-5, dim/2-5, dim/2-1, dim/2-1);
        }
        else
            g.fillOval(1, 1, dim-1, dim-1);
    }
}
